Acessar VPS com chave publica em vez de senha.
Este tutoria supõe que já tenha o multipass instalado.
Quando precisamos acessar uma VPS pelo terminal, precisamos usar ssh. Porém, utilizar com senha não é muito seguro. Para deixar isso mais seguro, iremos gerar uma ssh-key que poderemos usar para acessar a VPS sem senha.
Para gerar a ssh-key, podemos rodar o comando abaixo em nossa maquina passando o tipo:
ssh-keygen -t
Tipos:
- rsa: o padrão
- dsa: mais ou menos igual a de cima, 1024 bit keys
- ecdsa: mesma segurança com chave menor, mas relativamente nova e por isso é rara nos aplicativos de ssh.
- ed25519: Muito segura (mais resistente a side channel attacks e weak random number generators). Geração de assinatura muito rápida. Disponível no
Esse comando pode perguntar se deseja usar senha. Se não quiser usar, pressione enter duas vezes. No final seu terminal ira imprimir algo semelhante:
Generating public/private ed25519 key pair.
Enter file in which to save the key (/Users/username/.ssh/id_ed25519):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/username/.ssh/id_ed25519
Your public key has been saved in /Users/username/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:<key> username@usernames-MacBook-Air.local
The key's randomart image is:
+--[ED25519 256]--+
| |
| |
| |
| |
| |
| |
| |
| |
| |
+----[SHA256]-----+
Abra o arquivo criado com extensão .pub e copie o conteúdo para colá-lo na configuração de chaves da VPS. Acesse sua VPS:
multipass shell <vps_name>
Abra para edição o arquivo de permissões usando o seguinte comando:
chmod go-w ~/.ssh/authorized_keys
Agora adicione a chave no final do arquivo utilizando o vim:
vim ~/.ssh/authorized_keys
Depois de salvar e fechar o arquivo reinicie o serviço
sudo service sshd restart
Agora você pode logar na sua VPS usando a chave publica passando o usuário e endereço no formato username@address:
ssh ubuntu@192.168.64.7
Se não souber o endereço, utilize este comando para que o multipass imprima na tela:
multipass list